package com.xbongbong.pro.product.pojo.dto;

import com.xbongbong.paas.domain.entity.ext.PaasFormDataEntityExt;
import com.xbongbong.paas.field.FieldAttrEntity;
import com.xbongbong.paas.toolbox.wrap.BaseDTO;
import com.xbongbong.saas.domain.entity.ProductStockInfoEntity;
import com.xbongbong.saas.domain.entity.ProductWarehouseEntity;
import com.xbongbong.saas.domain.entity.ext.WarehouseEntityExt;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.util.List;
import java.util.Map;

/**
 * 库存查询列表页DTO
 * @author lcx
 * @version v1.0
 * @date 2019/3/2 11:08
 * @since v1.0
 */
@Getter
@Setter
@ToString
public class ProductStockSearchDTO extends BaseDTO {

    private static final long serialVersionUID = 2165498963642182230L;

    /**
     * 产品List，库存查询时是父产品列表，预警和保质期查询是子产品列表
     */
    private List<PaasFormDataEntityExt> productList;

    /**
     * 子产品List，只有库存查询时会有值，预警和保质期查询时为null
     */
    private List<PaasFormDataEntityExt> childProductList;

    /**
     * 供应商信息
     */
    private Map<Long, String> supplierInfoMap;

    /**
     * 子产品关联分仓仓库
     */
    private List<ProductWarehouseEntity> productWarehouseList;

    /**
     * 仓库信息
     */
    private Map<Long, WarehouseEntityExt> warehouseMap;

    /**
     * 创建者信息
     */
    private Map<String, String> creatorMap;

    /**
     * 产品字段信息，包括库存产品的系统字段，key是saasAttr，value是字段解释实体
     */
    private Map<String, FieldAttrEntity> nowProductExplainMap;

    /**
     * 产品库存信息，只有在保质期查询才会有值
     */
    private List<ProductStockInfoEntity> productStockInfoList;
}
